//package com.shop.loan.util;
//
//import com.alibaba.fastjson.JSON;
//import com.alibaba.fastjson.JSONObject;
//import lombok.extern.slf4j.Slf4j;
//import org.springframework.beans.factory.annotation.Value;
//import org.springframework.stereotype.Component;
//import org.springframework.util.StringUtils;
//
//import java.io.BufferedReader;
//import java.io.InputStreamReader;
//import java.net.URL;
//import java.net.URLConnection;
//import java.net.URLEncoder;
//import java.util.LinkedHashMap;
//import java.util.Map;
//
//@Slf4j
//@Component
//public class BaiduUtil {
//
////    public static String URL = "https://api.map.baidu.com/reverse_geocoding/v3?";
////
////    public static String AK = "ZsUCb8d67iluczCayXyUAUVjGd8ZlBrU";
//
//    @Value("${api.baidu.URL}")
//    private String URL;
//
//    @Value("${api.baidu.AK}")
//    private String AK;
//
//    /**
//     * 默认ak
//     * 选择了ak，使用IP白名单校验：
//     * 根据您选择的AK以为您生成调用代码
//     * 检测到您当前的ak设置了IP白名单校验
//     * 您的IP白名单中的IP非公网IP，请设置为公网IP，否则将请求失败
//     * 请在IP地址为xxxxxxx的计算发起请求，否则将请求失败
//     */
//    public String getInfoByLocation(String location) {
//        if (!StringUtils.hasLength(location) || !location.contains(",")) {
//            return null;
//        }
//        try {
//            String[] locations = location.split(",");
//
//            Map<String, String> param = new LinkedHashMap<>();
//            param.put("ak", AK);
//            param.put("output", "json");
//            param.put("coordtype", "wgs84ll");
//            param.put("location", locations[1] + "," + locations[0]);
//            StringBuffer queryString = new StringBuffer();
//            queryString.append(URL);
//            for (Map.Entry<?, ?> pair : param.entrySet()) {
//                queryString.append(pair.getKey() + "=");
//                queryString.append(URLEncoder.encode((String) pair.getValue(),
//                        "UTF-8") + "&");
//            }
//            if (queryString.length() > 0) {
//                queryString.deleteCharAt(queryString.length() - 1);
//            }
//
//            java.net.URL url = null;
//            url = new URL(queryString.toString());
//            URLConnection httpConnection = url.openConnection();
//            httpConnection.connect();
//
//            InputStreamReader isr = new InputStreamReader(httpConnection.getInputStream());
//            BufferedReader reader = new BufferedReader(isr);
//            StringBuffer buffer = new StringBuffer();
//            String line;
//            while ((line = reader.readLine()) != null) {
//                buffer.append(line);
//            }
//            reader.close();
//            isr.close();
//            String resultStr = buffer.toString();
//            log.info("百度 经纬度转坐标 参数:{}，结果:{}", param, resultStr);
//            JSONObject resultJs = JSON.parseObject(resultStr);
//            if (resultJs.containsKey("status") && resultJs.getInteger("status") == 0) {
//                return resultJs.getJSONObject("result").getString("formatted_address");
//            }
//        } catch (Exception e) {
//            e.printStackTrace();
//            log.error(Util.GetErrorDetails(e));
//        }
//        return null;
//    }
//}